/*
 *  NOWAI.h
 *  TubeTruck
 *
 *  Created by Aeturnum on 6/5/08.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#pragma once
#include <vector>
#include <exception>

#include "Packet.h"
#include "smartalloc_wrap.h"
#include "TubeTruckTypes.h"
#include "Hashing.h"

namespace TTP {
   class NOWAI : public Packet, public Crypt::Hashing {
   public:
      NOWAI();
      NOWAI(id_hash&);
      ~NOWAI();
      
      // idhash
      void  setDestIdHash(id_hash);
      id_hash getDestIdHash() const;
      
      void fromVec(std::vector<byte>::const_iterator &vit, std::vector<byte>::const_iterator &end);
      void toVec(std::vector<byte> &vec) const;  
      
      std::vector<byte> getHashablePacket() const;
   };
}